package com.edu.tool.service.sms;

import com.edu.tool.bean.sms.SysSms;
import java.util.List;
import java.util.Map;

/**
 * @FileName：SmsService.java
 * @Description：@TODO
 * @Author：ruixj
 * @CreateTime：上午10:48:32
 */
public interface SysSmsService {


    /**
     *
     * @Author：ruixj
     * @CreateTime：上午9:57:13
     * @Description：获取验证码
     * @param tenantId  租户ID,必填
     * @param phone   手机号,必填
     * @param bizType  业务类型，phoneVerify:手机验证   必填
     * @return    retcode为ok表示成功  authToken为本次短信令牌，在校验时需要上送
     */
    Map<String, Object> getAuthCode(Integer tenantId, String phone, String bizType);

    /**
     *
     * @Author：ruixj
     * @CreateTime：上午9:57:19
     * @Description：校验验证码
     * @param tenantId
     * @param phone
     * @param bizType
     * @param sendType
     * @param validityCode
     * @return
     */
    boolean isValidAuthCode(Integer tenantId, String phone, String bizType, String sendType, String validityCode);

    /**
     *
     * @Author：ruixj
     * @CreateTime：上午9:57:24
     * @Description：校验验证码
     * @param authToken   短信令牌
     * @param authCode  短信验证
     * @return retcode为ok表示成功  phone为本次校验成功的手机号
     */
    Map isValidAuthCode(String authToken, String authCode);

    Map sendNotifySms(Integer tenantId, String bizType, String phone, Map<String,String> placeholderMap);
}
